package com.starsky.attendance.entity;

import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;

import java.util.Date;

/**
 * 用户考勤数据
 * <p>
 * 同一个人，同一天考勤数据保留一条，并按照从小到大，将同一人的数据排序。
 * 比如早上打卡，选择最早时间，下班打开选择最晚时间
 * <p>
 * 通过导入excel全量数据，通过计算汇总输出
 * 导入excel列包含：地区、姓名、账号、出入标识、出入日期(yyyy-MM-dd)、出入时间(hh:mm:ss)、员工号、部门名称
 * 输出信息：
 * 导入excel列包含：地区、姓名、账号、出入标识、员工号、部门名称、上班时间(yyyy-MM-dd hh:mm:ss)、下班时间(yyyy-MM-dd hh:mm:ss)
 *
 * @author: wangsh
 * @time: 2024/4/5 9:34
 */
@Data
@ToString
@EqualsAndHashCode
@NoArgsConstructor
public class UserAttendanceDto {

    //地区
    @Excel(name = "地区")
    private String areaName;

    //姓名
    @Excel(name = "姓名")
    private String userName;

    //账号
    @Excel(name = "统一认证号")
    private String userAccount;

    //出入标识
//    @Excel(name = "出入标识")
    private String inOutType;

    //出入时间(yyyy-MM-dd hh:mm:ss)
    private Date currentTime;

    //员工号
    @Excel(name = "员工号")
    private String employeeNo;

    //部门名称
    @Excel(name = "部门名称")
    private String deptName;

    //出入时间(hh:mm:ss)
    @Excel(name = "出入日期")
    private String inOutDate;

    //上班时间
    @Excel(name = "上班时间")
    private String workingTime;

    //下班时间
    @Excel(name = "下班时间")
    private String offDutyTime;

    //考勤状态（早上8.30,下班17.30）,正常；异常
    @Excel(name = "考勤状态")
    private String workStatus;

    @Excel(name = "加班时长(小时)", width = 20)
    private String workOvertime;

}
